View Javadoc

1   package uba.db;
2   
3   import uba.db.table.TableSchema;
4   
5   /***
6    * Esta excepción es generada por la base de datos cuando se intenta crear una
7    * tabla que ya existe.
8    * 
9    * @version $Revision: 1.1 $
10   */
11  public class TableAlreadyExistsException extends Exception {
12      private static final long serialVersionUID = 3257009834665653297L;
13      private TableSchema tableSchema;
14      private transient Database database;
15  
16      /***
17       * Crea una nueva instancia de la excepción indicando la base de datos y el
18       * esquema de la tabla para el cual fallo la creación.
19       * 
20       * @param database
21       *            base de datos
22       * @param tableSchema
23       *            esquema de la tabla.
24       */
25      public TableAlreadyExistsException(Database database, TableSchema tableSchema) {
26          this.tableSchema = tableSchema;
27          this.database = database;
28      }
29  
30      /***
31       * Retorna la base de datos donde ocurrió el error.
32       * 
33       * @return las excepciones son serializables, pero una base de datos no, por
34       *         eso este método puede llegar a retorna <i>null</i>.
35       */
36      public Database database() {
37          return database;
38      }
39  
40      /***
41       * Retorna el esquema de tabla cuyo nombre de tabla ya existe en la base de
42       * datos.
43       */
44      public TableSchema tableSchema() {
45          return tableSchema;
46      }
47  
48      /***
49       * @see java.lang.Throwable#getMessage()
50       */
51      public String getMessage() {
52          return "No se pude crear la tabla " + tableSchema().tableName()
53                  + " por que ya existe una tabla con el mismo nombre en la base de datos";
54      }
55  }